// require('./init');

const express = require('express');

const app = express();
const path = require('path');
const cors = require('cors');
const staticRoot = path.resolve(__dirname, '../public');

// 打包后 在浏览器地址栏刷新匹配到静态资源地址
const history = require('connect-history-api-fallback');
app.use(history());

// 静态资源映射
app.use(express.static(staticRoot, {
    index: 'index.html', //默认是这个
}))


// const whiteList = ["null","http://localhost:12345"];
app.use(cors({
    origin(origin, callback) {
        // 没有origin 
        if (!origin) {
            callback(null,"*");
            return;
        }
        // if (whiteList.includes(origin)) {
        //     callback(null, origin);
        // } else {
        //     callback(new Error("not allowed"));
        // }
        callback(null,origin);
    },
    credentials: true
}))

// 加入cookie-parser中间件
// 加入之后，会在req中注入cookies属性 
// res对象中cookie方法，用于设置cookie
const cookieParser = require('cookie-parser');
// app.use(cookieParser("tscn924?"));
app.use(cookieParser());


// 加入token中间件
app.use(require('./tokenMiddleware'));

// 解析 application/x-www-x-www-form-urlencoded 格式的请求体
app.use(express.urlencoded({
    extended: true
}))

// 解析application/json 格式的请求体
app.use(express.json());
// 登录
app.use('/api/user', require('./api/user'));

// 处理api的请求
app.use('/api/result', require('./api/result'));

// 处理错误的中间件
app.use('/api', require('./errorMiddleware'));

app.listen(12305, () => {
    console.log('server listen on 12305');
})

